package com.dudu.service;

import org.apache.commons.lang.StringUtils;

import com.dudu.utils.AbstractTTSSynthesizeCallback;
import com.dudu.utils.AudioUtils;
import com.dudu.utils.TTSUtils;
import com.iflytek.cloud.speech.SpeechError;

/**
 * 将录音文件转换为wav格式
 * 
 * @author zx
 *
 */
public class WavTTSSynthesizeCallback extends AbstractTTSSynthesizeCallback {

	public static final String FILE_EXTENSION = ".wav";

	@Override
	protected void doAfterTTSSynthesize(String uri) {
		/*
		 * 如果录音文件转换已经超时，不做任何处理
		 */
		if (isOvertime()) {
			return;
		}
		if (StringUtils.isNotBlank(uri)) {
			String wavFile = uri.substring(0, uri.length() - TTSUtils.FILE_EXTENSION.length()) + FILE_EXTENSION;
			if (AudioUtils.pcmToWav(uri, wavFile)) {
				setFilePath(wavFile);
				done();
			}
		}
	}

	@Override
	protected void doAfterTTSSynthesizeFailture(String uri, SpeechError error) {
		// 暂时未做处理
	}

}
